<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    /* 
    1. 函数的定义
    2. 函数的调用
    3. 函数传递参数
    4. 函数的返回值
    */
    
    function getUser(){
        console.log(123456)
    }
    getUser();
    
    let fun1 = function(){
        console.log("哈哈哈哈")
    }
    fun1();
    // 自执行函数
    (
        function(){
            console.log("我是一个自执行函数")
        }
    )()

    // 函数传递参数 name形参
    function getName(name,a,s,t="默认值") {
        console.log(name,a,s,t)
        console.log(`我叫${name}今年${a}是个${s}`)
    }
    let sex = "男"
    // 传递参数 实参 
    getName("张三",18,sex,"嘿嘿")

    function fun2(){
        console.log(1111);
        console.log(222)
        return "嘿嘿嘿"
        console.log(333)
    }
    fun2();
    let f = fun2();
    console.log(f)

    let fun3 = ()=>{
        console.log(12312312312)
    }
    fun3();
    (()=>{
        console.log("箭头函数自执行")
    })();
    // 箭头函数 形参只有一个时可以省略小括号
    let fun4 = msg =>{
        console.log(msg)
    }
    fun4("学习使我快乐")
    // 箭头函数 只有一个返回值时可以省略大括号和return
    let fun5 = ()=> "返回数据";
    console.log(fun5())
    let b = "李四"
    function fun6(){
        let a = '张三';
        console.log(a)
        console.log(b)
    }
    fun6();
    // console.log(a)
</script>
</html>